home *** CD-ROM | disk | FTP | other *** search
- /*_ stdlib.h Thu May 24 1990 Modified by: Walter Bright */
- /* Copyright (C) 1986-1993 by Symantec */
- /* All Rights Reserved */
- /* $Revision: 1.10 $ */
-
- #ifndef __STDLIB_H
- #define __STDLIB_H 1
-
- #if __cplusplus
- extern "C" {
- #endif
-
- /* status for exit() or _exit() */
- #define EXIT_SUCCESS 0
- #define EXIT_FAILURE 1
-
- #ifndef NULL
- #if __COMPACT__ || __LARGE__ || __VCM__
- #define NULL 0L
- #else
- #define NULL 0
- #endif
- #endif
-
- typedef unsigned size_t;
- typedef unsigned short wchar_t;
- #ifndef ERANGE
- #if M_UNIX || M_XENIX
- #define ERANGE 34
- #else
- #define ERANGE 1003
- #endif
- #endif
-
- #if __ZTC__ < 0x220
- #define HUGE_VAL 1.797693134862315e+308
- #else
- #define HUGE_VAL __inf
- #endif
-
- #define RAND_MAX 32767
- #define MB_CUR_MAX 1
-
- #pragma pack(__DEFALIGN)
- typedef struct _DIV { int quot,rem; } div_t;
- typedef struct _LDIV { long quot,rem; } ldiv_t;
- #pragma pack()
-
- #ifdef __STDC__
- #define __CDECL
- #define __STDCALL
- #else
- #define __CDECL __cdecl
- #define __STDCALL __stdcall
- #endif
-
- #if __OS2__ && __INTSIZE == 4
- #define __CLIB __STDCALL
- #else
- #define __CLIB __CDECL
- #endif
-
- #define _MAX_PATH 260
- #define _MAX_DRIVE 3
- #define _MAX_DIR 256
- #define _MAX_FNAME 256
- #define _MAX_EXT 256
-
- #if _MT
- extern int * __CLIB _errno(void);
- #define errno (*_errno())
- #else
- extern int __CLIB errno;
- #endif
-
- double __CLIB atof(const char *);
- int __CLIB atoi(const char *);
- long __CLIB atol(const char *);
- double __CLIB strtod(const char *,char **);
- long __CLIB strtol(const char *,char **,int);
- unsigned long __CLIB strtoul(const char *,char **,int);
- int __CLIB rand(void);
- void __CLIB srand(unsigned);
- int __CLIB random(int num);
- void __CLIB randomize(void);
- void * __CLIB calloc(size_t,size_t);
- void __CLIB free(void *);
- void * __CLIB malloc(size_t);
- void * __CLIB realloc(void *,size_t);
- void __CLIB abort(void);
- int __CLIB atexit(void (*)(void));
- void __CLIB exit(int);
- char * __CLIB getenv(const char *);
- int __CLIB system(const char *);
- void * __CLIB bsearch(const void *,const void *,size_t,size_t,
- int (__CLIB *)(const void *,const void *));
- void __CLIB qsort(void *,size_t,size_t,
- int (__CLIB *)(const void *,const void *));
- int __CLIB abs(int);
- div_t __CLIB div(int,int);
- long __CLIB labs(long);
- ldiv_t __CLIB ldiv(long,long);
- int __CLIB mblen(const char *,size_t);
- int __CLIB mbtowc(wchar_t *,const char *,size_t);
- int __CLIB wctomb(char *,wchar_t);
- size_t __CLIB mbstowcs(wchar_t *, const char *, size_t);
- size_t __CLIB wcstombs(char *, const wchar_t *, size_t);
-
- unsigned __CLIB _rotl(unsigned,unsigned);
- unsigned __CLIB _rotr(unsigned,unsigned);
- unsigned long __CLIB _lrotl(unsigned long,unsigned);
- unsigned long __CLIB _lrotr(unsigned long,unsigned);
- char * __CLIB _fullpath(char *buf,const char *path,int buflen);
- #define fullpath _fullpath
- #ifndef __STDC__
- /* Non-ANSI functions */
-
- #ifndef __NT__
- extern unsigned short __cdecl _psp;
- #endif
-
- extern unsigned char __cdecl _osmajor;
- extern unsigned char __cdecl _osminor;
- extern unsigned char __cdecl _osmode;
- extern unsigned char __cdecl _cpumode;
- extern volatile int __cdecl _doserrno; /* MS-DOS error codes. Refer to the */
- /* ERROR RETURN TABLE in your MS-DOS */
- /* manual. */
-
- void __cdecl _splitpath(const char *, char *,char *, char *, char *);
- void __cdecl _makepath(char *, const char *,const char *, const char *, const char *);
- void __cdecl _searchenv(const char *filename, const char *varname, char *pathname);
-
- size_t __cdecl _msize(void *);
- #if __LARGE__ || __COMPACT__ || __VCM__
- void * __cdecl _fmalloc(size_t);
- void * __cdecl _fcalloc(size_t,size_t);
- void * __cdecl _frealloc(void *,size_t);
- void __cdecl _ffree(void *);
- size_t __cdecl _fmsize(void *);
- unsigned long __cdecl coreleft(void);
- unsigned long __cdecl farcoreleft(void);
- #if _WINDOWS
- void __near * __cdecl _nmalloc(size_t);
- void __near * __cdecl _ncalloc(size_t,size_t);
- void __near * __cdecl _nrealloc(void __near *,size_t);
- void __cdecl _nfree(void __near *);
- size_t __cdecl _nmsize(void __near *);
- size_t __cdecl _memmax(void);
- size_t __cdecl _memavl(void);
- unsigned int __cdecl _freect(size_t);
- #endif
- #else
- void * __cdecl _nmalloc(size_t);
- void * __cdecl _ncalloc(size_t,size_t);
- void * __cdecl _nrealloc(void *,size_t);
- void __cdecl _nfree(void *);
- size_t __cdecl _nmsize(void *);
- size_t __cdecl _memmax(void);
- size_t __cdecl _memavl(void);
- unsigned int __cdecl _freect(size_t);
- unsigned __cdecl coreleft(void);
- unsigned long __cdecl farcoreleft(void);
- #if __INTSIZE == 2 || (!__NT__ && !__OS2__)
- void __far * __cdecl _fmalloc(size_t);
- void __far * __cdecl _fcalloc(size_t,size_t);
- void __far * __cdecl _frealloc(void __far *,size_t);
- void __cdecl _ffree(void __far *);
- size_t __cdecl _fmsize(void __far *);
- #endif
- #endif
-
- #if __INTSIZE == 2
- void __huge *_halloc (long, size_t);
- void _hfree (void __huge *);
- #endif
-
- char * __CLIB itoa(int,char *,int);
- char * __CLIB ltoa(long, char *, int);
- char * __CLIB ultoa(unsigned long, char *, int);
- char * __CLIB ecvt(double,int,int *,int *);
- char * __CLIB fcvt(double,int,int *,int *);
- char * __CLIB gcvt(double,int,char *);
- void * __CDECL sbrk(size_t);
- void __CLIB swab(char *,char *,size_t);
- float __CLIB strtof(const char *,char **);
- #define _swab swab
- #define _ecvt ecvt
- #define _fcvt fcvt
- #define _gcvt gcvt
- #define strtold strtod
- #define _strtold strtod
- #define _itoa itoa
- #define _ltoa ltoa
- #define _ultoa ultoa
- void __ss * __CLIB alloca(size_t);
- #define _alloca alloca
- size_t __CLIB stackavail(void);
- size_t __CLIB _chkstack(void);
- #define _stackavail stackavail
-
- #if __NT__ || (__OS2__ && __INTSIZE == 4)
- int __cdecl _fatexit (void (__cdecl *func)(void));
- typedef void (__cdecl * _fonexit_t)(void);
- _fonexit_t __cdecl _fonexit (_fonexit_t func);
- #else
- int __cdecl _fatexit (void (__cdecl __far *func)(void));
- typedef void (__cdecl __far * _fonexit_t)(void);
- _fonexit_t __cdecl _fonexit (_fonexit_t func);
- #endif
-
- typedef void (__cdecl * _onexit_t)(void);
- _onexit_t __cdecl _onexit (_onexit_t func);
-
- #if __INTSIZE == 2
- void __far * __far __CLIB __mallocf(size_t);
- void __far __CLIB __freef(void __far *);
- #endif
- int __CLIB putenv(const char *);
-
- #define _putenv putenv
-
- #ifndef __cplusplus
- #ifndef max
- #define max(a,b) (((a) > (b)) ? (a) : (b))
- #define __max(a,b) (((a) > (b)) ? (a) : (b))
- #endif
-
- #ifndef min
- #define min(a,b) (((a) < (b)) ? (a) : (b))
- #define __min(a,b) (((a) < (b)) ? (a) : (b))
- #endif
- #endif
-
- extern int (__far __CDECL *_malloc_handler)(void);
- extern char * __CDECL _envptr;
-
- #if M_UNIX || M_XENIX
- extern char ** __CDECL _environ[];
- #endif
-
- #endif
-
- #if __cplusplus
- }
- #endif
-
- #endif /* __STDLIB_H */
-